iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 18
0
Software Development

Azure Application Insights系列 第 18

Day - 18. 自訂事件和度量(Metric)

  • 分享至 

  • xImage
  •  

Metric 計量為數值,描述系統在特定時間的某個方面

並且計量會定期收集適用于警示,因為它們可以頻繁地進行取樣,而且可以使用相對簡單的邏輯快速地引發警示

https://ithelp.ithome.com.tw/upload/images/20191003/20103426xRZ6IhdLto.png

如上圖是在我們這七天Azure Application Insights自動記錄的資料

首先我們得先記住,ApplicationInsights.TelemetryClient.TrackMetric不是傳送計量的慣用方法

我們最好是彙總一段時間的計量再把它送出,而不是一直把它送出

並且可以使用GetMetric()來取得可供存取SDK預先彙總功能的計量物件

但...如果我們需要要執行自己的預先匯總邏輯,可以使用TrackMetric()方法來傳送產生的匯總

範例如下:

var sample = new MetricTelemetry();
sample.Name = "test metric";
sample.Value = 55;
telemetryClient.TrackMetric(sample);

只要插入上列的程式碼片段就可以了

https://ithelp.ithome.com.tw/upload/images/20191003/20103426H2t5UEQV19.png

但這邊要注意一點,必須在方法上加上Obsolete這個Attribute

再來讓我們發行他

https://ithelp.ithome.com.tw/upload/images/20190927/20103426BIRXMf8bRy.png

https://ithelp.ithome.com.tw/upload/images/20190927/201034265mB3cbx6Lu.png

接著讓我們看一下執行後的結果,這邊我們會需要查詢customMetric這張表

https://ithelp.ithome.com.tw/upload/images/20191004/20103426fBUsIqnfWj.png

https://ithelp.ithome.com.tw/upload/images/20191004/20103426tCIuEq2GRI.png

上圖所看到的HeartBeatState是由於我們有啟用心跳功能,

所以每15分鐘Azure會自動傳送name=HeartBeatState的自訂計量

這邊最常被應用的有兩個欄位:一個是valueSum另一個是valueCount

valueSum是測量結果的總和。當我們把它除以valueCount的時候,可以得到平均值

customMetrics
| project  valueSum / valueCount

https://ithelp.ithome.com.tw/upload/images/20191004/201034266vMVlnx7dA.png

valueCount則是彙總到這個trackMetric(..)呼叫的測量數目

簡單來說...就是每一次Request裡有參雜的TrackMetric呼叫次數


上一篇
Day - 17. 自訂事件和度量(Dependency)
下一篇
Day - 19. 自訂事件和度量(TelemetryContext)
系列文
Azure Application Insights30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言